namespace DotNetDalTest.AbstractEntities
{
    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using DotNetDal.Core;
    using DotNetDal.Core.Data;
    using DotNetDal.Core.StructureAttributes;


    [TableAttribute(Schema = "Person")]
    public partial class AbstractvAdditionalContactInfo : DALView
    {

        private static Entities.vAdditionalContactInfo instance = new Entities.vAdditionalContactInfo();

        [FieldAttribute()]
        public int ContactID
        {
            get
            {
                return ((int)(this["ContactID"]));
            }
            set
            {
                this["ContactID"] = value;
            }
        }

        [FieldAttribute()]
        public string FirstName
        {
            get
            {
                return ((string)(this["FirstName"]));
            }
            set
            {
                this["FirstName"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string MiddleName
        {
            get
            {
                return ((string)(this["MiddleName"]));
            }
            set
            {
                this["MiddleName"] = value;
            }
        }

        [FieldAttribute()]
        public string LastName
        {
            get
            {
                return ((string)(this["LastName"]));
            }
            set
            {
                this["LastName"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string TelephoneNumber
        {
            get
            {
                return ((string)(this["TelephoneNumber"]));
            }
            set
            {
                this["TelephoneNumber"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string TelephoneSpecialInstructions
        {
            get
            {
                return ((string)(this["TelephoneSpecialInstructions"]));
            }
            set
            {
                this["TelephoneSpecialInstructions"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string Street
        {
            get
            {
                return ((string)(this["Street"]));
            }
            set
            {
                this["Street"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string City
        {
            get
            {
                return ((string)(this["City"]));
            }
            set
            {
                this["City"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string StateProvince
        {
            get
            {
                return ((string)(this["StateProvince"]));
            }
            set
            {
                this["StateProvince"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string PostalCode
        {
            get
            {
                return ((string)(this["PostalCode"]));
            }
            set
            {
                this["PostalCode"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string CountryRegion
        {
            get
            {
                return ((string)(this["CountryRegion"]));
            }
            set
            {
                this["CountryRegion"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string HomeAddressSpecialInstructions
        {
            get
            {
                return ((string)(this["HomeAddressSpecialInstructions"]));
            }
            set
            {
                this["HomeAddressSpecialInstructions"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string EMailAddress
        {
            get
            {
                return ((string)(this["EMailAddress"]));
            }
            set
            {
                this["EMailAddress"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string EMailSpecialInstructions
        {
            get
            {
                return ((string)(this["EMailSpecialInstructions"]));
            }
            set
            {
                this["EMailSpecialInstructions"] = value;
            }
        }

        [FieldAttribute(IsNullable = true)]
        public string EMailTelephoneNumber
        {
            get
            {
                return ((string)(this["EMailTelephoneNumber"]));
            }
            set
            {
                this["EMailTelephoneNumber"] = value;
            }
        }

        [FieldAttribute()]
        public System.Guid rowguid
        {
            get
            {
                return ((System.Guid)(this["rowguid"]));
            }
            set
            {
                this["rowguid"] = value;
            }
        }

        [FieldAttribute()]
        public System.DateTime ModifiedDate
        {
            get
            {
                return ((System.DateTime)(this["ModifiedDate"]));
            }
            set
            {
                this["ModifiedDate"] = value;
            }
        }

        public static Entities.vAdditionalContactInfo[] GetFromSql(string sql)
        {
            return DALRecord.GetFromSql<Entities.vAdditionalContactInfo>(sql);
        }

        public static Entities.vAdditionalContactInfo[] GetFromSql(string sql, params SqlParameter[] sqlParams)
        {
            return DALRecord.GetFromSql<Entities.vAdditionalContactInfo>(sql, sqlParams);
        }
    }
}
